using System;
using System.Collections.Generic;
using System.Text;
using NBusiness.CodeDom;
using System.Data.Common;


namespace NBusiness.Templates
{
    public interface ISchemaUpdater
    {
        void UpdateSchema(SchemaUpdaterOptions options, Entity[] entities);

        SchemaUpdaterOptions GetDefaultOptions();

        /// <summary>
        /// 
        /// </summary>
        /// <param name="options"></param>
        /// <returns>Continue with </returns>
        SchemaOptionsEditResult EditOptions(SchemaUpdaterOptions options);

        string Name { get; }

        event EventHandler<SchemaUpdaterProgressArgs> Progress;
        event EventHandler Completed;
    }
}
